racket 7.0.0.2 is out
作者:
标签:
Racket 7.0.0.2版本最令人激动的功能是local-expand
的增强,多了一个#:extend-stop-ids?
选项,这意味着alexis在这篇文章 中所想要解决的问题不复存在,我们可以通过一段代码来观察变化:
这是在racket 6.12中运行的代码:
(define-syntax m (syntax-rules ())) (begin-for-syntax (display (local-expand #'(let-syntax ([a (syntax-rules ())]) (m a)) 'expression (list #'m) #f )))
可以看到,宏并没有被完全展开。
但是在新版本中:
(define-syntax m (syntax-rules ())) (begin-for-syntax (display (local-expand #'(let-syntax ([a (syntax-rules ())]) (m a)) 'expression (list #'m) #f #:extend-stop-ids? #f)))
这意味着racket的宏系统更加完善和强大了。